Numero
1
Novembre-Dicembre 1983
AQUARIUS Edizioni s.n.c.
RUN bimestrale su cassetta. Periodico
registrato presso il Tribunale di Milano con il N. 469/83 il giorno
07/10/83. Tutti i diritti sono riservati per tutti i paesi.
Programmi, manoscritti e cassette anche senon pubblicati non sono
rinviati all'autore se non su richiesta.
RIGHTS RESERVED
EVERYWHERE
1984 by Aquarius
edizioni - RUN
direttore
SIMONE MAJOCCHI
direzione
software
BEPPE
ANDRIANO'
direzione
diffusione
PIERO
ROCCHI
direzione
editoriale
MARIO
MAGRONE
direttore
responsabile
Simone
Majocchi
Collaborano a
RUN
Alex Gatti, Alessandra
Angiolini, Alessandra Baretta, Alberto Bassi, Antonio Trupo, Bruno
Rota, Dario Mella, Franco Tagliabue, Giancarlo Belloni, Maurizio
Feletto, Mauro Scaioni Roberto Cislaghi, Sandro Serra, Stefano
Prina, Tina Cerri, Viviana Angiolini.
DISTRIBUZIONE :
edicole - SO.DI.P Angelo Patuzzi - Via
Zuretti 25 MILANO
computer shops - MICROSTAR V. Cagliero 17
Milano
COME UTILIZZARE
RUN
I programmi sono
concatenati fra loro in modo tale da permettere la lettura della
rivista senza dover dare LOAD in continuazione ma sem licemente
fermando il registratore quando richiesto. Per minimizzare le
manovre con il registratore la rivista e' a blocchi (circa 18) da
diversi K di RAM. Le dimensioni sono tali da ermettere il
caricamento su Spectrum non espansi. Date le dimensioni della
rivista le due facciate della cassetta contengono materiale diverso
per un totale di oltre 120 KBytes
.
Campagna
abbonamenti 1984
Assicurati oltre
mezzo
Megabyte di programmi, corsi ,
giochi edidattica sul tuo ZX Spectrum con sole cinquantamila lire. Avrai diritto ad una cassetta di
software di elevata qualita' e ad una tessera sconto valida per l'acquisto di software e
hardware presso i rivenditori convenzionati. Per abbonarti devi
mandare un vaglia postale di 50000 lire a Aquarius Edizioni, C.so
Vittorio Emanuele 15, 20122 , Milano con il tuo indirizzo completo ed il tipo di
cassetta che desideri in regalo.
|
SOMMARIO
1 3-5 Chi lavora per RUN
6 Istruzioni per l'uso
2 7-8 Campagna Abbonamenti
9-11 SOMMARIO
3 13-15 Editoriale
4 17 La vendetta della rana
5 ROADER gioco Basic e L/M
6 18-27 Corso di BASIC
7 35-39 Tutto Sinclair
8 35-39 Spectrum HARDWARE
9 41 Cosa sono gli UDG
10 UDG editor programma
11 42-45 Software TEST
12 47-50 Come ti scrollo l'hires
13 Bytes SCROLL in L/M
14 51-64 Corso di L/M
15 66 Spari tu o sparo io ?
16 RUN Invaders gioco L/M
17 67-72 Cosa c'e' sul mercato
18 73-78 Posta e risposta
19 79-82 Le occasioni di
20 83-85 Sul prossimo numero
21 87 METEORS il superGIOCO |
Per facilitarvi la
lettura i RUN abbiamo diviso il sommario secondo i blocchi di
caricamento indicando con un numero da 1 a 18 (in giallo) il blocco a cui il pezzo appartiene.
Mantenendo lo stile delle normali riviste ogni pagina ha un numero
progressivo; in questo modo potrete stamparvi gli articoli che vi
interessano senza confondere le pagine.
EDITORIALE
di Simone Majocchi
Si dice sempre che
rispetto agli altri noi poveri italiani siamo sempre
indietro...
Questa volta pero'
siamo stati capaci di fare qualcosa di buono ed interessante: avete
infatti per le mani qualcosa di speciale e unico per
l'Italia.
RUN
e' infatti la prima rivista
su cassetta che compare in edicola dando qualcosa di nuovo a tutti i
possessori di Spectrum italiani. Siamo certi che questa iniziativa
ottera' la vostra approvazione.
Come possessori di
computer sapete bene quale sia l'annoso problema che vi assilla dal
momento in cui l'avete acceso per la prima volta: si sa che il
computer puo' fare tutto o quasi,ma ben pochi sanno come farlo fare
al computer. E' proprio per questo che noi della Aquarius abbiamo
deciso di produrre una rivista su cassetta in grado di dare tutte le
informazioni necessarie per arrivare alla piena padronanza del
vostro ZX Spectrum.
Su RUN
troverete corsi di programmazione e articoli didattici
per
insegnarvi direttamente sul computer come si programma, con tutti i
trucchi e le astuzie per avere il massimo dal vostro computer. Anche
i giochi saranno pero' oggetto delle nostre pagine e noterete come
tutti i programmi siano gia' pronti da far girare e senza errori.
Gia' su questo numero inizia il corso di Basic ed il corso di
programmazione in linguaggio macchina; tre giochi ed un programma di
utilita' piu' qualche altra routine sono il software che vi terra'
impegnati fino al primo gennaio 84, giorno in cui uscira' il secondo
numero di RUN
nelle edicole e nei computer shop. Se avete delle idee e dei
commenti scriveteci...
<Pubblicità>
Sei appassionato di
astronomia ?
Allora corri alla tua
edicola!
E' uscita
ASTRONOMIA 2000
La prima rivista di
astronomia pratica, astrofisica, astronautica.
LA VENDETTA DELLA
RANA
Introduzione a
ROADER
di Massimo
Soncini
E' ormai un dato di
fatto che i Videogames stanno diventando sempre piu' cruenti...
Basta un semplice sguardo ai classici da bar per trovare Pengo che
con la sua aria ingenua spiaccica a cubi di ghiaccio le Snow Bees
contro il muro, oppure Q*bert che saltellando da una pedana
all'altra cerca di far precipitare nel vuoto i suoi nemici ed emette
una serie di strane imprecazioni come @!#* se sbaglia. Solitamente
sono sempre o gli alieni o gli animaletti che vengono trucidamente
uccisi, questa volta pero' siete voi (e noi) poveri umani a dover
salvare la pelle dalle trappole tese dagli animali alla guida delle
navi e delle macchine. Il programma e' stato realizzato da
Marino
Fabio seguendo le tracce del
noto Frogger. Lo scopo del gioco e' quello di portare 'a casa' il
povero omino utilizzando i soliti tasti del cursore: 5=sinistra,
7=su e 8=destra.
L'omino va portato a
casa evitando di toccare i mezzi che popolano lo schermo; le case
sono i quadrati in alto e una volta che avete riempito le prime 4
case passate al secondo muro, con due ragni e maggiore sprint. Il
gioco utilizza delle routine in linguaggio macchina per il movimento
'soft' dei vari mezzi. Piu' avanti troverete un articolo sullo
scroll in hires...
Corso di
BASIC
Ad alcuni potrebbe
sembrare poco sensato inserire un corso di BASIC in una rivista come RUN. E' infatti probabile che la maggioranza di
voi conosca gia' tale linguaggio di programmazione. Non e' altresi'
scontato che tutti sfruttino appieno le possibiliita', davvero
notevoli, che il BASIC offre. Ecco quindi il perche' di questa
rubrica, dove cercheremo di illustrarvi i concetti della
programmazione evoluta.
Cercheremo di
spiegarvi come scrivere programmi efficienti, privi di dozzine di
inutili GOTO e documentati quanto basta per essere riletti e
compresi a distanza di mesi dalla loro stesura. Qualcuno potrebbe
dire che questa si chiama programmazione strutturata, ma in
realta'non si puo' cosi' definire, perche' il Sinclair manca di vere
e proprie strutture (leggi IF- THEN-ELSE,REPEAT-UNTIL & co.). Il
nostro prediletto e' pero' fornito di un BASIC veramente potente, ed
alcune delle sue caratteristiche risultano molto utili per la
documentazione dei listati. Ovviamente non ci riferiamo
esclusivamente alla ben nota istruzione REM, dopo la quale potete
inserire qualunque commento, ma alla possibilita' di assegnare alle
variabili nomi composti da piu' lettere, tutte significative. Per
chi non avesse compreso l'u tilita' del poter attribuire alle
variabili nomi attinenti al loro contenuto ci proferiamo in un
esempio chiarificatore, che trovate nella pagina seguente.
Supponiamo di voler scrivere un breve programmino che calcoli il
costo totale di uno ZX Spectrum. La formula, se e' lecito cosi'
chiamarla,dovra' tener conto del costo reale e della famigerata IVA.
Il programma potrebbe essere del tipo :
10 INPUT x
20 INPUT y
30 LET p=x+x/100*y
40 PRINT p
Per il ruolo che deve
svolgere questa procedura e' perfetta,ma volendola riutilizzare dopo
un mese vi rendereste conto della incomprensibilita' di un listato
privo della minima documentazione. Perche' risulti 'leggibile' anche
dopo mesi e ad altri che voi, basta modificarlo cosi'
10 INPUT "Costo ";costo
20 INPUT "IVA % ";iva
30 LET prez=costo+costo/100 iva
40 PRINT "Prezzo ";prez
I piu' smemorati, o i
formalisti avrebbero inserito anche un bel
5 REM calcolo costo SPECTRUM
ma in un simile
programma sembra quasi superfluo. Finita questa bella e interessante
chiaccherata (brusio di fondo) possiamo continuare cercando di
essere un tantino piu' pratici, cosicche' nessuno abbia a dire che
RUN e' una rivista di poco pratici.
Prima dobbiamo
spendere ancora qualche parola a riguardo dell teoria, la quale dice
che ogni problema, per quanto complesso esso sia, e' scomponibile in
diversi sottoproblemi. E' facile intuire quanto sia piu' conveniente
ai fini della programmazione scomporre un problemone in problemini
piuttosto che tentare di risolvere tutto assieme. Cio'che si deve
attuare e' quindi la scomposizione di ogni programma in diverse
procedure, partendo da quella piu' lontana alla soluzione finale.
Daltronde questa operazione viene normalmente compiuta da tutte le
massaie. Si! Avete letto bene, abbiamo scritto massaie. Queste
infatti prima di cuocere la pasta preparano tutti gli ingredienti
necessari, in modo da non dover correre per la cucina durante la
fase piu' delicata, la cottura. Cosi' come le donne di casa, anche i
programmatori devono rendere le loro azioni, in termini di
programmi, il piu' lineari possibile. Per chi e' abituato a
programmare in top-down, senza cioe' analizzare il problema che si
vuole risolvere prima di iniziare a battere i tasti, puo' risultare
abbastanza difficile strutturare un programma, ma ovviamente i
vantaggi offerti dalla strutturazione, leggibilita' del listato e
linearita' in esecuzione, valgono qualche sforzo.
Dovete inoltre tenere
conto del fatto che i vantaggi della programmazione strutturata si
sentono solo su programmi di un certo peso, e questo e' il motivo
principale per cui non ci siamo esibiti in un esempio pratico. In
questa rubrica tratteremo argomenti sempre piu' interessanti e,
anche se non molto semplici, alla portata di tutti. Chi e'
interessato a migliorare il proprio stile di programmazione non si
lasci sfuggire questo corso, MAI !!!
COSA C'E' DI NUOVO
TARGATO ZX
E' finalmente arrivato
il tanto atteso momento in cui la Sinclair ha messo in vendita il
latitante microdrive. Da
quando e' stato annunciato per la prima volta e' passato piu' di un
anno e le caratteristiche sono state modificate in abbondanza.
E'ormai certo che si tratta di uno stringy-floppy e non un floppy,
si sa anche che e'indispensabile l'interfaccia RS232 e proprio in
questa interfaccia si trova una seconda ROM contenente un nuovo set di comandi dedicato
alla comunicazione fra lo Spectrum e (udite udite): 8 Microdrive , 64 ZX Spectrum e
tutto quello che puo' essere attaccato a una RS232.
Sappiamo che state
gia' friggendo sulle sedie per sapere come avere un Microdrive e la
ZX Interface 1, ma in questo momento anche gli inglesi stanno
soffrendo poiche' la produzione va ancora molto a rilento... Forse
per marzo si potranno avere i primi pezzi e anche le cartucce di
nastro da 200Kbytes dovranno, per quella data, essere
disponibili.
Per quanto ne sappiamo
funzionano a meraviglia ed il nuovo set di comandi comprende tutte
le istruzioni visibili sotto la prima fila di tasti ognuna delle
quali ha piu' funzioni a seconda del formato utilizzato.
La parte piu'
interessante riguardo all'insieme e' comunque quella dedicata per la
comunicazione fra piu' Spectrum: il NET permette di collegare fra
loro ben 64 computer con una velocita' di comunicazione pari a 100
Kbaud. E' poi anche possibile usare un computer come master per
inviare dati a tutti gli altri connessi al NET, rendendo un facile
giochetto computerizzare una intera classe. L'RS232 prevede gia' il
collegamento con una stampante con l'espansione dei token
corrispondenti alle istruzioni; non e'pero' possibile far stampare
senza software aggiuntivo la pagina hires o i caratteri
grafici.
Per concludere
l'exploit Sir Clive ha finalmente immesso sul mercato il suo
Microvision
2000 che per la cronaca e' il
televisore tascabile a schermo piatto. Secondo le sue migliori
tradizioni costa meno di 100 sterline e funziona come il Sony da
200!! Dalle voci del solito corridoio si incomincia a sentir parlare
di ZX84: si tratterebbe di un personal con Microdrive, televisore
piatto e modem, l'ideale in tutti i casi in cui e' richiesta la
portatilita'. Anche qui il prezzo e' supercompetitivo a paragone dei
milioni necessari all'acquisto di un simile personal
computer.
Infine sempre dalla
mente fervida di Sir Sinclair sta per nascere la 'Sinclairmobile'
elettrica, in grado di risolvere i difficili problemi della
circolazione cittadina. Ancora una volta restiamo in attesa della
presentazione ufficiale in cui si vedra' qualcosa di incredibile ad
un prezzo ancora piu' incredibile! E tutto questo sempre con il
'technological breakthrough' a cui ci ha abituato Sir Clive Sinclair
da sei anni a questa parte. Di solito si dice che chi vivra' vedra',
in questo caso si vedra' se la Sinclair ci riuscira'!
ZX SPECTRUM
HARDWARE
Anche se di ridotte
dimensioni il vostro computer contiene un sacco di circuiti, che
tradotti in transistor basterebbero a saturare la stanza in cui vi
trovate. L ingombro ridotto e' il frutto della moderna tecnologia a
LSI (Large Scale Integration) e con meno di 25 integrati il vostro
ZX funziona a meraviglia. Ogni integrato ha una funzione ben precisa
e specializzata: il 'cervello' che coordina tutte le operazioni e'
lo Z80 (CPU); il braccio e' il Custom della Ferranti; l'artista che
provvede ai colori e' il codificatore PAL ed infine l'archivio delle
informazioni sono la ROM e le RAM.
Anche se ogni
integrato sa bene cosa fare e' necessario coordinare tutte le
operazioni: per questo esiste la ROM che contiene il Sistema
Operativo e il Basic. Quando accendete il computer la CPU incomincia
a leggere nella ROM cosa deve fare e tutti i circuiti eseguono
quello che la CPU ordina. Anche se ai vostri occhi il computer non
sta facendo nulla, sta eseguendo parecchie decine di migliaia di
operazioni al secondo. Nel frattempo anche il Ferranti lavora come
un matto provvedendo alla visualizzazione dei dati in memoria
corrispondenti al video.
Dal punto di vista
tecnico il vostro ZX e' stato progettato in modo poco usuale: molte
delle funzioni solitamente svolte da normali integrati TTL del tipo
74LS sono risolte dal Custom di produzione Ferranti e addirittura
tutta la procedura di visualizzazione su TV e' espletata da questo
'superintegrato'. Oltre che per motivi di costi di produzione, la
Sinclair ha utilizzato questa soluzione per complicare al massimo la
vita a tutti i 'copioni'. Per usare un solo circuitone 'fac totum'
sono pero' stati necessari compromessi sulla velocita' del
computer.
Tanto per darvi un
idea di cio che accade, vi diciamo che il perfido Ferranti sospende
il segnale di clock alla CPU quando non vuole essere disturbato
durante la visualizzazione della pagina video, e questo capita
abbastanza frequentemente, con una riduzione del 20% della velocita'
di esecuzione. Un altro impiccio all'esecuzione speedy' dei
programmi sono gli Interrupts, ovvero dei salti forzati ad un breve
programma in l/m ogni tot millisecondi.
Allo ZX gli Interrupts
servono per controllare la pressione di un tasto e per alterare
alcune variabili del sistema; ovviamente non si tratta di tempo
sprecato, ma utilizzando delle soluzioni circuitali tradizionali
questo non sarebbe stato necessario. A parte il Custom, tutto il
resto e' regolare, molto piu' che nello ZX81 per cui era necessario
molto lavoro per collegare l'interfaccia piu' semplice e banale.
Questa prima chiacchierata serve solo a darvi un'idea di che cosa si
trova sotto i vostri rosei polpastrelli; nei prossimi numeri andremo
piu' a fondo sulle singole parti e vi daremo le informazioni
necessarie alla realizzazione di qualche semplice interfaccia,
quindi pazientate e meditate fino a gennaio.
UDG
di M.S.
Non temete: non si
tratta di una nuova casa editrice, ma di un argomento
particolarmente "scottante" per tutti i possessori di Spectrum: la
programmazione dei caratteri. Leggendo il manuale di Steven Vickers
in dotazione al computer si scopre come molto sia stato fatto per
facilitare questo compito, inserendo nel sistema operativo
istruzioni come BIN, POKE USR "(lettera che si vuore ridefinire)" e
la possibilita' di utilizzare i due set, quello programmabile e
quello standard, contemporaneamente; se qualcuno di voi ha avuto la
possibilita' di utilizzare ad esempio l'ORIC1 si sara' reso conto
degli sforzi compiuti in casa Sinclair. Dato a Clive quello che e'
di Clive, passiamo ad esaminare i lati negativi dell'argomento.
Probabilmente sarete anche voi tra quelli che, ritornando a casa
dopo aver visto "TRON", si sono seduti di fronte al fedele ZX con
l'evidente intenzione di fare un video-game ispirato alle scene piu'
emozionanti dell'ultima fatica dei maghi della Walt Disney; e,
altrettanto probabilmente, sarete tra coloro che hanno perso ore e
ore nel tentativo di definire una figura piu grande di 64 punti,
convertendo in codici decimali i quadrati bianchi e neri che hanno
posizione sulla carta millimetrata. Ma adesso, grazie al nostro UDG
Editor, potrete creare personaggi, astronavi e altre piacevolezze
formate da 512 pixel in pochi minuti!
E adesso che vi siete
ripresi dalla "crisi da notizia sconvolgente", passiamo ad esaminare
il programma.
All inizio verra'
creata una griglia divisa in 8 parti, allo interno della quale e'
possibile muovere un cursore utilizzando i classici tasti da 5 a 8;
se mentre eseguite questa operazione tenete premuto anche CAPS
SHIFT, cambierete il colore del punto in cui si trova il cursore.
Quando sarete soddisfatti del risultato ottenuto, premete S, e 8
caratteri verranno programmati ricopiando l'immagine contenuta nella
griglia. Seguendo le opzioni indicate dal menu', potrete correggere,
listare i codici ed infine ricominciare.
In una prossima
puntata vedremo come programmare TUTTI i caratteri dello
Spectrum.......
Software
test
Un numero sempre
maggiore di software house si occupa della produzione di programmi
per ZX SPECTRUM, la Sinclair, non volendo passare in secondo piano
neanche in questo settore, ha commissionato alla ben nota PSION due
programmi, da poco disponibili in Italia nei negozi della catena
REBIT - BIT SHOP PRIMAVERA. Non si puo' dire quale sia la cassetta
piu' interessante, ma, probabilmente, Cyrus -IS- Chess riscuotera'
il maggior successo.
Si tratta, come avrete
gia' capito, di un programma per giocare a scacchi. L'idea non e'
delle piu' nuove, ma Cyrus e' fratello del programma che ha
trionfato agli ultimi campionati Europei di scacchi per
microcomputer. E' dotato, oltre che di un ottimo gioco - potete
scegliere fra 8 livelli di difficolta' - di interessanti ed
esclusive caratteristiche fra le quali citiamo la possibilita' di
muovere i pezzi con il cursore, quella di gestire incontri fra piu'
di due giocatori e di rendere possibile la correzione di ogni mossa,
anche dopo la sua esecuzione. Attenzione, Cyrus e' dotato di una
vasta biblioteca dove puo' scovare le aperture piu' strane e
micidiali, e' infatti questa la fase del gioco durante la quale il
nostro "amico" mostra tutta la sua eccezionale abilita'.
Se non ve la sentite
di impegnarvi in una tremenda partita a scacchi con il tenacissimo
Cyrus, potete scegliere Scrabble: un gioco sicuramente piu'
riposante ed anche educativo.Scrabble, meglio noto dalle nostre
parti come Scarabeo (?!), mette a vostra disposizione un vocabolario
di oltre 11.000 parole (11.000 !). Utilizzando delle lettere dovete
"scrivere" sulla scacchiera, sempre visualizzata, delle parole,
comprese nelle ennemila, creando sempre nuovi incroci. Le caselle,
cosi' come le lettere non hanno tutte lo stesso valore, occorre
un'abilita' diabolica per trovare parole sufficientemente lunghe e
inserirle nella posizione piu' vantaggiosa. Il gioco e' giocoso e, a
patto di non selezionare il livello piu' difficile (ce ne sono 4),
e' adatto a chiunque, quindi..... Buon divertimento !
COME TI SCROLLO IL
VIDEO
di Massimo Soncini
Sara' capitato a molti
di voi, di trovarsi di fronte il solito esperto (o presunto tale) di
computer che incominciava a guardare con diffidenza la scatoletta
nera che troneggiava sulla vostra scrivania e iniziava l'elenco
delle funzioni del suo elaboratore, concludendo inevitabilmente con
la frase "E il tuo Spectrum, riesce a fare questo?", trovando sempre
la lacuna che il buon Clive si e' dimenticato di colmare.
E' quindi evidente che
noi di RUN non potevamo rimanere inerti di fronte a queste
insinuazioni ed eccoci pronti a fornirvi, da questo numero,le spade
con cui difendere il vostro Sinclair. Come prima integrazione vi
proponiamo una routine che permette di eseguire lo scroll IN ALTA
RISOLUZIONE, pixel per pixel, nelle quattro direzioni. Chiaramente,
il programma che permette di ottenere questo effetto e' totalmente
in linguaggio macchina, compattando l'occupazione di memoria a soli
160 bytes! Per poter entrare in possesso di queste nuove
possibilita' e' sufficiente terminare la lettura di questo
articolo,e si passera' al caricamento della routine, seguita da uno
schermo dimostrativo. Poiche' la zona in cui il linguaggio macchina
si carichera' dipende dalla versione del vostro computer (16K/48K),
abbiamo ritenuto opportuno riportare una tabella delle chiamate
(RAND USR), che vi consigliamo di ricopiare:
SCROLL 16K 48K
SINISTRA 32000 60000
DESTRA 32026 60026
ALTO 32052 60052
BASSO 32107 60107
Nonostante la brevita'
il programma si presenta molto flessibile, permettendo con
interventi minimi di far riapparire all'estremita' opposta tutto
quello che esce da un lato dello schermo, con inoltre l'opzione
dell'inverse.Qui di seguito sono riportati i tre casi e i POKE che
bisogna eseguire:
1)SCROLL SENZA RIENTRO LATERALE
POKE 32013(60013),55
POKE 32039(60039),55
2)SCROLL CON RIENTRO LATERALE
POKE 32013(60013),63
POKE 32039(60039),63
3)COME PUNTO 2 CON INVERSE
POKE 32013(60013),0
POKE 32039(60039),0
Le locazioni segnate
in parentesi riguardano gli Spectrum 48K.
Corso di
linguaggio macchina by:
Dario Mella
Linguaggio
macchina,assembler: questa espressione, per coloro che si dilettano
a programmare in Basic, Fortran, Pascal ecc. e' spesso causa di
disagio e si pensa a qualcosa al di la' della nostra mente, un
divertimento riservato solo a pochi eletti. Questo nostro corso non
vi dara' ovviamente tutte le nozioni necessarie alla creazione di un
programma per giocare a scacchi ma vi dara' comunque una buona
conoscenza sulla materia.
Cos e' il codice
macchina ?
La risposta e': un
linguaggio come un altro, anzi piu' semplice,perche' le istruzioni
di cui si compone sono concettualmente semplicissime. La piu' grande
differenza e' che non si scrivono le istruzioni come parole segni di
interpunzione e nomi di variabili, ma sotto forma di numeri. Ogni
computer ha la possibilita' di venir programmato in L/M anche
perche' ogni istruzione di alto livello,per essere eseguita deve
venir interpretata e tradotta in routine di L/M dalla
ROM.
In L/M potete leggere
e scrivere numeri nella memoria, potete fare addizioni,sottrazioni e
salti nel programma, condizionati e non. Come esistono vari
'dialetti' Basic, esistono anche diversi codici macchina in
dipendenza della CPU che il computer usa. Dato che nel nostro caso
si tratta di uno Z80 i riferimenti saranno tutti sul set Z80 di
comandi. Tutti gli esempi sono gia' nel vostro Spectrum e vi
risparmiamo la fatica di caricarli. Per uniformarci alla maggioranza
dei testi i numeri che formano i listati dei programmi in L/M
verranno scritti in esadecimale, cioe' in un sistema di numerazione
che anziche' avere come base 10 ha come base 16 La scelta della base
16 e dettata dal fatto che e' molto piu' vicina al modo di "pensare"
della macchina di quanto non lo sia la base 10. Apprezzeremo
comunque piu' avanti questa scelta. Per adesso ci basta sapere che
c9 in hex o 201 in decimale sono la stessa cosa. Eccovi ora un
programmino in BASIC per operare le conversioni da decimale in hex e
viceversa. Fate un po' di pratica e cercate di capire il perche' dei
risultati.
Tenete presente che le
lettere dei numeri hex dovranno essere scritte minuscole. Dando RUN
avrete la conversione da dec a hex; RUN 1000 convertira' da hex a
dec. Quando sarete stufi di fare conversioni e vorrete continuare
nella lettura della rivista,fermate il programma e date
semplicemente LOAD"".
COME ACCEDERE AL
L/M
Il primo problema e'
quello di scrivere qualcosa in l/m; il che significa mettere in
qualche punto della memoria questi benedetti numeri. Tale scopo si
raggiunge con l'istruzione BASIC "POKE"
Se diamo il
comando
POKE 25000,201
il risultato sara' che
nella cella di memoria 25000 verra' scritto il valore 201. Per
controllare sara' sufficiente fare PRINT PEEK 25000 che dara' come
risposta 201.
Il comando POKE non ha
effetto se si tenta di scrivere nella zona di memoria riservata alla
ROM (indirizzi da 0 a 16383) Gli amanti delle curiosita' potranno
fare il seguente esperimento per vedere come effettivamente i POKE
alterino il contenuto della memoria. Caricate un qualunque
programmino BASIC e date dei POKE dove, al posto dell'indirizzo,
scriverete dei numeri compresi tra 23755 e 24000 e,al posto del
valore dei numeri casuali scelti tra 0 e 255. Le locazioni tra 23755
e 24000 sono approssimativamente quelle dove viene memorizzato il
listato di un breve programma.
Con le operazioni
sopra descritte voi lo altererete e il comando LIST vi dara' delle
sorprese. Un programma in linguaggio macchina potrebbe dunque essere
scritto con tanti POKE,ma questo diventerebbe estremamente lungo e
sarebbe facile causa di errori; ecco dunque un hex-loader, cioe' un
programma in BASIC che permette di caricare un programma in l/m
espresso nella forma di numeri esadecimali. Le
istruzioni di funzionamento sono abbastanza semplici:
1) scrivere
l'indirizzo di partenza del programma (la cui scelta sara' un
argomento che discuteremo piu' avanti)
2) inserire il listato
hex sotto forma di doppietti (ogni nu- mero hex e' formato da 2
cifre). Il numero di doppietti per riga e' arbitrario
3) Digitare "s" e il
caricamento terminera' Per fare un po' di pratica annotatevi il
seguente listato il cui significato per ora vi sara'
oscuro:
3e02cd011606e0c53e2ad7c110f9c9
Ora caricate HEXLOADER
e date RUN. Quando vi verra' chiesto l'indirizzo, scrivete 30000.
Inserite poi i numeri hex. Finito il caricamento date RANDOMIZE USR
30000 e osservate il risultato:se non avete fatto errori, verranno
stampati 224 asterischi. Poi, per tornare alla lettura della
rivista, date LOAD ""
Dopo una operazione di
inserimento eseguita con HEXLOADER il programma in codice macchina
e' scritto nella memoria pronto a funzionare. Ad esempio,dopo
l'inserzione del programma che stampava asterischi nella memoria
avevamo la seguente situazione:
Indirizzo contenuto hex dec
30000 3e 62
30001 02 2
30002 cd 205
30003 01 1
30004 ... ecc
Come avrete notato,per
abilitare il l/m e' sufficiente dare un qualsiasi comando BASIC dove
compaia la funzione USR seguita
dall'indirizzo a cui parte il codice macchina;nell' esempio era
30000
Due sono le cose importanti da osservare nel precedente
programma. La prima e' il ridottissimo consumo di memoria rispetto
al BASIC. Infatti il listato in questione e' lungo solo 15 celle di
memoria o bytes. Il
corrispondente in BASIC:
9900>FOR f=1 TO 224
9910 PRINT "*";
9920 NEXT f
ne occupa invece 40!
la seconda e fondamentele proprieta' del l/m e' la velocita'.
Controllate la differenza che c'e' facendo girare prima il BASIC per
tre volte ,in modo da riempire lo schermo e poi tre chiamate al l/m
(FOR a=1 TO 3: RANDOMIZE USR 30000: NEXT a)
SPARA TU CHE SPARO
ANCH'IO..
Un classico 'shoot 'em
up' non poteva mancare in questo primo numero. Non si tratta
comunque di un banale Space Invaders, ma di una raffinata quanto piu
difficile versione a dodici schermi ingrado di farvi passare un po'
di tempo sul gioco a provare la vostra abilita'. Per rendere comodo
il gioco abbiamo scelto i tasti C. Shift, Z e Space per gli
spostamenti e il fuoco, quindi la funzione Break e' disabilitata. Se
volete uscire dal gioco dovete resettare il computer.
BUON DIVERTIMENTO
!
LA POSTA DI
RUN
Siamo al primo numero
e di posta non ne abbiamo ancora molta, per lo piu' si tratta di
richieste di maggiori informazioni su questa fantomatica testata. Il
colloquio con voi lettori rimane sempre un punto di grande
importanza per lo sviluppo di questa nostra iniziativa quindi non
fatevi alcun problema nel mandarci una letteraccia in cui elencate
una ventina di cose che secondo voi non vanno,ne terremo conto per
il numero successivo. Se poi la vostra lettera puo' interessare
anche gli altri lettori allora potrete vederla pubblicata in queste
ultime pagine.
Le occasioni di
RUN, mercatino
Come per la posta,
anche per quelle vostre richieste di cambi acquisti e vendite e'
stato pre disposto uno spazio. In questo numero vedete dei numeri di
pagina apparentemente errati, ma sono quelli fissati per le due
rubriche che per que sta volta 'marcano visita'. Se avete quindi
qualcosa da scambiare, se cercate uno schem o volete vendere il
vostro ZX dalla disperazione, allora scrivete in non piu' di cinque
righe da 32 caratteri il vostro annuncio e mandatelo a :
RUN
Aquarius Edizioni snc
C.so Vittorio Emanuele 15
20122 MILANO
SUL PROSSIMO
NUMERO
Non lasciatevi
scappare il prossimo favoloso numero di su cui potrete
trovare:
Basic & L/M part 2
I segreti della CPU
I colori e gli Attributes
Linguaggi: il FORTH
per non parlare poi
dei giochi..
Tre eccezionali
giochi
Palloni areostatici
SUPERBALL
Uomini e Topi
e non dimenticate che
su RUN troverete tanti altri articoli ed un
simpatico programma per far suonare un po' il vostro timido
computer. Se gia' state aspettando il prossimo numero, vi siete
dimenticati dell ultimo programma di questo numero...
voltate pagina e
scoprirete che...
METEORS
Siete in un mare di
guai, o meglio in un mare di meteore che con fare disinvolto
rimbalzano per lo spazio con buone probabi- lita' di colpire la
vostra nave spaziale. Come se non bastasse anche un gruppo di
fastidiosi ufetti e ufini cerchera' di complicarvi un altro po'
l'esistenza. Il computer di bordo vi dara' le istruzioni necessarie
a compiere la vostra missione.
COMPUTER DI BORDO A CAPITANO
STATO DELLA NAVICELLA:
Sistemi di difesa: OPERATIVI
Hyperdrive: EFFICENTE 100%
Giroscopi: 12000 giri/min.
Motori: EFFICENTI SU 360 gr.
Sistema di guida: tasti 6 7
Ignizione motori: tasto 8
Salto iperspazio: tasto 9
Missili dirompenti: tasto 0
Possibilita' di riuscita:3/9
...... FINE MESSAGGIO ......